-- 系统菜单，增加一个菜单，默认增加 增删改查权限  menu:add menu:update menu:del menu:query
create table t_menu
(
    id integer not null,
    name varchar2(200),
    zjm varchar2(50),
    qxdm varchar2(50),
    jb integer,
    pid integer,
    href varchar2(100),
    ico varchar2(100),
    state varchar2(1) default 1,
    xh number(10),
    constraint pk_t_menu primary key(id)
);
create sequence seq_t_menu minvalue 1 nomaxvalue start with 20 increment by 1 nocache nocycle;

insert into T_MENU (id, name, zjm, qxdm, jb, pid, href, ico, state, xh)
values (3, '系统角色管理', 'XTJSGL', 'role', 2, 1, 'sys/role/query', null, '1', 3);
insert into T_MENU (id, name, zjm, qxdm, jb, pid, href, ico, state, xh)
values (4, '系统用户管理', 'XTYHGL', 'czy', 2, 1, 'sys/czy/query', null, '1', 7);
insert into T_MENU (id, name, zjm, qxdm, jb, pid, href, ico, state, xh)
values (5, '行政机构管理', 'XZJGGL', 'xzjg', 2, 1, 'sys/xzjg/main', null, '1', 11);
insert into T_MENU (id, name, zjm, qxdm, jb, pid, href, ico, state, xh)
values (1, '系统管理', null, null, 1, null, null, 'layui-icon-windows', '1', 1);
insert into T_MENU (id, name, zjm, qxdm, jb, pid, href, ico, state, xh)
values (2, '系统菜单管理', null, null, 2, 1, 'sys/menu/main', null, '1', 1);
commit;

-- -- 图标库
-- create table t_tbk
-- (
--     id integer not null,
--     name varchar2(200),
--     constraint pk_t_tbk primary key(id)
-- );
-- create sequence seq_t_tbk minvalue 1 nomaxvalue start with 3 increment by 1 nocache nocycle;

-- 系统角色
create table t_role
(
    id integer not null,
    name varchar2(200),
    zjm varchar2(50),
    menu_id varchar2(2000),-- 用户新建角色，只能选择自己角色才拥有的菜单
    permission_id varchar2(2000),-- 用户新建权限，只能选择自己角色才拥有的权限
    state varchar2(1) default 1,
    t_czy_id integer not null,
    add_rq date default sysdate,
    constraint pk_t_role primary key(id)
);
create sequence seq_t_role  minvalue 1 nomaxvalue start with 1 increment by 1 nocache nocycle;

-- 系统菜单对应的权限
create table t_permission
(
    id integer not null,
    menu_id integer not null,
    name varchar2(200),
    zjm varchar2(200),
    code varchar2(200),
    state varchar2(1) default 1,
    constraint pk_t_permission primary key(id)
);
create sequence seq_t_permission  minvalue 1 nomaxvalue start with 50 increment by 1 nocache nocycle;
insert into T_PERMISSION (id, menu_id, name, zjm, code, state)
values (6, 3, '系统角色管理增加', 'role:add', 'role:add', '1');
insert into T_PERMISSION (id, menu_id, name, zjm, code, state)
values (7, 3, '系统角色管理查询', 'role:query', 'role:query', '1');
insert into T_PERMISSION (id, menu_id, name, zjm, code, state)
values (8, 3, '系统角色管理修改', 'role:update', 'role:update', '1');
insert into T_PERMISSION (id, menu_id, name, zjm, code, state)
values (9, 3, '系统角色管理删除', 'role:del', 'role:del', '1');
insert into T_PERMISSION (id, menu_id, name, zjm, code, state)
values (10, 4, '系统用户管理增加', 'czy:add', 'czy:add', '1');
insert into T_PERMISSION (id, menu_id, name, zjm, code, state)
values (11, 4, '系统用户管理查询', 'czy:query', 'czy:query', '1');
insert into T_PERMISSION (id, menu_id, name, zjm, code, state)
values (12, 4, '系统用户管理修改', 'czy:update', 'czy:update', '1');
insert into T_PERMISSION (id, menu_id, name, zjm, code, state)
values (13, 4, '系统用户管理删除', 'czy:del', 'czy:del', '1');
insert into T_PERMISSION (id, menu_id, name, zjm, code, state)
values (14, 5, '行政机构管理增加', 'xzjg:add', 'xzjg:add', '1');
insert into T_PERMISSION (id, menu_id, name, zjm, code, state)
values (15, 5, '行政机构管理查询', 'xzjg:query', 'xzjg:query', '1');
insert into T_PERMISSION (id, menu_id, name, zjm, code, state)
values (16, 5, '行政机构管理修改', 'xzjg:update', 'xzjg:update', '1');
insert into T_PERMISSION (id, menu_id, name, zjm, code, state)
values (17, 5, '行政机构管理删除', 'xzjg:del', 'xzjg:del', '1');
insert into T_PERMISSION (id, menu_id, name, zjm, code, state)
values (1, 2, '菜单新增', 'menu:add', 'menu:add', '1');
insert into T_PERMISSION (id, menu_id, name, zjm, code, state)
values (2, 2, '菜单修改', 'menu:update', 'menu:update', '1');
insert into T_PERMISSION (id, menu_id, name, zjm, code, state)
values (3, 2, '菜单查询', 'menu:query', 'menu:query', '1');
insert into T_PERMISSION (id, menu_id, name, zjm, code, state)
values (4, 2, '菜单删除', 'menu:del', 'menu:del', '1');
insert into T_PERMISSION (id, menu_id, name, zjm, code, state)
values (5, 2, '菜单迁移', 'menu:sjqy', 'menu:sjqy', '1');
commit;

-- 系统操作员
create table t_czy
(
    id integer not null,
    dlmc varchar2(20),
    name varchar2(200),
    headimg varchar2(100) default 'tx.png',
    zjm varchar2(20),
    role_id integer,
    xzjg_id integer, -- t_xzjg.id
    pwd varchar2(50),
    state varchar2(1) default 1,
    memo varchar2(100),
    t_czy_id integer,-- 操作人员.id
    add_rq date default sysdate,
    constraint pk_t_czy primary key(id)
);
create sequence seq_t_czy  minvalue 1 nomaxvalue start with 2 increment by 1 nocache nocycle;
insert into t_czy (ID, DLMC, NAME, PWD,xzjg_id) values (1, 'admin', '系统管理员', '96e79218965eb72c92a549dd5a330112','1');

-- Create/Recreate indexes
create unique index idx_zyyz_czy_dlmc on T_CZY (dlmc);
commit;

-- 系统机构
create table t_xzjg
(
    id integer not null,
    name varchar2(200),
    zjm varchar2(50),
    jgh varchar2(50),-- 机构号 不能重复
    jb integer,
    pid integer,
    state varchar2(1) default 1,
    xh number(10),
    constraint pk_t_xzjg primary key(id)
);
create sequence seq_t_xzjg minvalue 1 nomaxvalue start with 5 increment by 1 nocache nocycle;
-- Create/Recreate indexes
create unique index IDX_t_xzjg_jgh on t_xzjg (jgh);
insert into t_xzjg (ID, NAME, ZJM, JB, PID, STATE, XH) values (1, '湖北省邮政分公司', null, 1, null, '1', 1);
commit;

--参数表
create table t_csb
(
    id integer not null,/*id主键*/
    code varchar2(100),
    name varchar2(100),
    lx varchar2(1) default 1, -- 1 参数表  2 业务表名
    state varchar2(1) default 1,
    constraint pk_t_csb primary key(id)
);
create sequence seq_t_csb  minvalue 1 nomaxvalue start with 1 increment by 1 nocache nocycle;

--导入批次
create table t_drpc
(
    id integer not null,/*id主键*/
    xzjg_id integer not null,
    czy_id integer not null,
    drrq date default  sysdate,-- 导入日期
    ywjm varchar2(100),-- 原文件名称
    drts integer default 0,-- 导入条数
    ywms varchar2(100),-- t_csb.code
    state varchar2(1) default 1,--1 正常  0 已删除
    scrq date,
    scry integer,
    constraint pk_t_drpc primary key(id)
);
create sequence seq_t_drpc  minvalue 1 nomaxvalue start with 1 increment by 1 nocache nocycle;
alter table t_drpc add drzt varchar2(1) default '1';--导入是否完成 1 成功  0 失败 2 处理中
alter table t_drpc add drbz varchar2(300);--导入备注
alter table t_drpc add drwcsj date;--导入完成时间
alter table t_drpc add scbz varchar2(500);--删除备注
-- Add/modify columns
alter table T_DRPC modify drbz VARCHAR2(2000);
alter table T_DRPC modify scbz VARCHAR2(2000);

--新框通用表相关架新增的字段
alter table t_czy add aeskey varchar2(100);
alter table t_czy add aesiv varchar2(100);

-- 随机字符串
create table t_api_nonce
(
    czy_id integer not null,
    ms varchar2(100),
    nonce varchar2(200),
    create_date date default sysdate,
    end_date date--凭证过期时间
);
-- api 访问日志
create table t_api_log
(
    id integer not null,
    czy_id integer not null,
    apims varchar2(500),
    ms varchar2(100),
    nonce varchar2(200),
    create_date date default sysdate,
    end_date date--访问过期时间
);
create sequence seq_t_api_log minvalue 1 nomaxvalue start with 1 increment by 1 nocache nocycle;

--系统日期基础数据
create table t_week
(
    year integer not null,
    xh integer not null,--序号
    ksrq date,-- 开始日期
    jzrq date--截止日期
);

--系统日期基础数据
create table t_month
(
    year integer not null,
    xh integer not null,--序号
    yf varchar2(8),--月份
    ksrq date,-- 开始日期
    jzrq date--截止日期
);

--文件明细
create table t_files
(
    id integer not null,--主键
    czy_id integer not null,--主键
    cfwjm varchar2(200),--存放文件名
    ywjm varchar2(200),--原文件名
    ywjhz varchar2(20),--原文件后缀
    wjdx varchar2(100),--文件大小
    scrq date default sysdate,
    wjdz varchar2(500),--文件地址
    sfzj varchar2(1) default 0,--是否仅自己查看 0 否  1 是
    constraint pk_t_files primary key(id)
);
create sequence seq_t_files  minvalue 1 nomaxvalue start with 1 increment by 1 nocache nocycle;

-- 会员信息,全局唯一,这个表专门针对会员使用
create table t_hyxx
(
    lsh number(10) not null,
    tel varchar2(200) default null,-- 手机号,加密存放
    pwd varchar2(200),-- 密码
    name varchar2(200),-- 用户名称
    aeskey varchar2(200),-- aes秘钥
    aesiv varchar2(100),
    reg_time date,-- 注册时间
    constraint pk_t_hyxx primary key (lsh)
);
create unique index idx_t_hyxx_tel on t_hyxx(tel);
create sequence seq_t_hyxx  minvalue 1 nomaxvalue start with 1 increment by 1 nocache nocycle;
alter table t_hyxx add t_wx_user_lsh number(10) not null;

-- 删除的目录或者文件。定时校验是否已经删除完成
create table t_del
(
    id integer not null,--主键
    lj varchar2(200),--路径，可能是文件，也可能是文件夹
    lx varchar2(1) default 1,--1 文件  2 目录
    state varchar2(1) default 0,--未校验
    constraint pk_t_del primary key(id)
);
create sequence seq_t_del  minvalue 1 nomaxvalue start with 1 increment by 1 nocache nocycle;

alter table t_xzjg add jgjc varchar2(100);


--省市区街树形表
create table t_region(
    id integer not null,--主键
    name varchar2(200),-- 名称
    pid integer,--上级
    jb integer default 1,-- 1 省  2 市  3 区  4 街道  5 社区等
    code varchar2(200),--代码
    state varchar2(1) default 1,--1 有效  0 无效
    constraint pk_t_region primary key(id)
);
create sequence seq_t_region  minvalue 1 nomaxvalue start with 50 increment by 1 nocache nocycle;

-- 湖北省
INSERT INTO t_region (id, name, pid, jb, code, state)
VALUES (seq_t_region.NEXTVAL, '湖北省', NULL, 1, '420000', '1');

-- 武汉市
INSERT INTO t_region (id, name, pid, jb, code, state)
VALUES (seq_t_region.NEXTVAL, '武汉市', (SELECT id FROM t_region WHERE code = '420000'), 2, '420100', '1');

-- 江汉区
INSERT INTO t_region (id, name, pid, jb, code, state)
VALUES (seq_t_region.NEXTVAL, '江汉区', (SELECT id FROM t_region WHERE code = '420100'), 3, '420103', '1');

-- 江汉区下属街道
INSERT INTO t_region (id, name, pid, jb, code, state)
VALUES (seq_t_region.NEXTVAL, '唐家墩街道', (SELECT id FROM t_region WHERE code = '420103'), 4, '420103001000', '1');

INSERT INTO t_region (id, name, pid, jb, code, state)
VALUES (seq_t_region.NEXTVAL, '水塔街道', (SELECT id FROM t_region WHERE code = '420103'), 4, '420103002000', '1');

INSERT INTO t_region (id, name, pid, jb, code, state)
VALUES (seq_t_region.NEXTVAL, '民意街道', (SELECT id FROM t_region WHERE code = '420103'), 4, '420103003000', '1');

INSERT INTO t_region (id, name, pid, jb, code, state)
VALUES (seq_t_region.NEXTVAL, '汉兴街道', (SELECT id FROM t_region WHERE code = '420103'), 4, '420103004000', '1');

INSERT INTO t_region (id, name, pid, jb, code, state)
VALUES (seq_t_region.NEXTVAL, '满春街道', (SELECT id FROM t_region WHERE code = '420103'), 4, '420103005000', '1');

-- 提交事务
COMMIT;

alter table t_region add zjm varchar2(200);
alter table t_region add xh number(10);

create table t_xzjg_lb(
    id integer not null,--主键
    name varchar2(200),-- 名称
    zjm varchar2(200),-- 助记码
    constraint pk_t_xzjg_lb primary key(id)
);
create sequence seq_t_xzjg_lb  minvalue 1 nomaxvalue start with 50 increment by 1 nocache nocycle;


--20250814
alter table t_xzjg add fzr varchar2(100);--负责人
alter table t_xzjg add wddh varchar2(100);--网点电话
alter table t_xzjg add wddz varchar2(300);--网点地址
alter table t_xzjg add wdyysj varchar2(300);--网点营业时间
alter table t_xzjg add wdyb varchar2(15);--网点邮编
alter table t_xzjg add wdms varchar2(300);--网点描述
alter table t_xzjg add wdjd number(36,10);--网点经度
alter table t_xzjg add wdwd number(36,10);--网点维度
alter table t_xzjg add xzjg_lb integer default 0;--机构类别  0  只是机构而已
alter table t_xzjg add wglj varchar2(200);--网格路径
alter table t_xzjg add sfqu varchar2(1) default '0';--是否区，区才允许或许边界